<?php
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of CatalogoDao
 *
 * @author Francisco Nieto Zamora
 */
class CatalogoDao {

     public function mapearCatalogo($tab)
    {
        $lstCatalogo = new ArrayList();
        for($i=0;$i<count($tab);$i++)
        {
            $catalogo = new BeanCatalogo();
            $catalogo->setCodCatalogo($tab[$i]['COD_CATALOGO']);
            $catalogo->setDescripcion($tab[$i]['DESCRIPCION']);
            $catalogo->setFxFin($tab[$i]['FX_FIN']);
            $catalogo->setFxInicio($tab[$i]['FX_INICIO']);
            $catalogo->setTitulo($tab[$i]['TITULO']);

            $lstCatalogo->add($catalogo);
        }
        return $lstCatalogo;
    }
 

   
    public function obtenerCatalogoSQL($catalogo)
    {
        $sql='SELECT * FROM CATALOGO WHERE 1=1 ';

        if($catalogo->getCodCatalogo()!=null)
        {
            $sql=$sql." AND COD_CATALOGO=".$catalogo->getCodCatalogo();
        }
        if($catalogo->getDescripcion()!=null)
        {
            $sql=$sql." AND DESCRIPCION='".$catalogo->getDescripcion()."'";
        }
         if($catalogo->getFxFin()!=null)
        {
            $sql=$sql." AND FX_FIN=STR_TO_DATE('".$catalogo->getFxFin()."','".Constantes::$FORMATO_FECHA."')";
        }
        if($catalogo->getFxInicio()!=null)
        {
            $sql=$sql." AND FX_INICIO=STR_TO_DATE('".$catalogo->getFxInicio()."','".Constantes::$FORMATO_FECHA."')";
        }
        if($catalogo->getTitulo()!=null)
        {
            $sql=$sql." AND TITULO='".$catalogo->getTitulo()."'";
        }

        return $sql;
    }

     public function obtenerCatalogo($catalogo)
    {
        $sql = $this->obtenerCatalogoSQL($catalogo);
        $sqlQuery = new SqlQuery($sql);
        $tab=QueryExecutor::execute($sqlQuery);
        $lstCatalogo = $this->mapearCatalogo($tab);
        return $lstCatalogo;
    }
   
}
?>
